Programmation fonctionnelle certifiée : L'extraction de programmes dans l'assistant Coq. (Certified functional programming : Program extraction within Coq proof assistant)

نویسنده

  • Pierre Letouzey
چکیده

This work concerns the generation of programs which are certified to be correct byconstruction. These programs are obtained by extracting relevant information from construc-tive proofs made with the Coq proof assistant.Such a translation, named “extraction”, of constructive proofs into functional programsis not new, and corresponds to an isomorphism known as Curry-Howard’s. An extractiontool has been part of Coq assistant for a long time. But this old extraction tool sufferedfrom several limitations : in particular, some Coq proofs were refused by it, whereas someothers led to incorrect programs.In order to overcome these limitations, we built a completely new extraction tool for Coq,including both a new theory and a new implementation. Concerning theory, we developednew correctness proofs for this extraction mechanism. These new proofs are both complexand original. Concerning implementation, we focused on the generation of efficient andrealistic code, which can be integrated in large-scale software developments, using modulesand interfaces.Finally, we also present several case studies illustrating the capabilities of our new extrac-tion. For example, we describe the certification of a modular library of finite set structures,and the production of programs about real exact arithmetic, starting from a formalizationof constructive real analysis. These examples show the progress already achieved, even if thesituation is not perfect yet, in particular in the last study.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Extraction certifiée dans Coq-en-Coq

The Coq proof assistant allows generation of programs correct by construction. This feature—called extraction—can be used to build certified libraries. In this article, we present a formalization of the extraction in Coq, along with some properties that have been formally proved. This work is in line with B. Barras’s work on formalizing Coq in Coq. MOTS-CLÉS : assistant de preuve, calcul des co...

متن کامل

Proving and Computing: a certified version of the Buchberger’s algorithm

This paper shows on a non-trivial example that it is possible to mix proving and computing using current technologies. We present a proof of the Buchberger's algorithm that has been developed in the Coq proof assistant. The formulation of the algorithm in Coq can then be eeciently compiled and used to do computation. Preuve et Calcul Formel: une version certiiie de l'algorithme de Buchberger RR...

متن کامل

A Certified Multi-prover Verification Condition Generator

Deduction-based software verification tools have reached a maturity allowing them to be used in industrial context where a very high level of assurance is required. This raises the question of the level of confidence we can grant to the tools themselves. We present a certified implementation of a verification condition generator. An originality is its genericity with respect to the logical cont...

متن کامل

Une bibliothèque certifiée de programmes fonctionnels BSP

The Bulk-Synchronous Parallel ML (BSML) is a functional language for BSP programming, a model of computing which allows parallel programs to be ported to a wide range of architectures. It is based on an extension of the ML language by parallel operations on a parallel data structure called parallel vector, which is given by intention. We present the certification of a library of BSML programs w...

متن کامل

Theorem Proving Support in Programming Language Semantics N° ???? Theorem Proving Support in Programming Language Semantics

We describe several views of the semantics of a simple programming language as formal documents in the calculus of inductive constructions that can be verified by the Coq proof system. Covered aspects are natural semantics, denotational semantics, axiomatic semantics, and abstract interpretation. Descriptions as recursive functions are also provided whenever suitable, thus yielding a a verifica...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004